package org.yaosheng.algorithm.BinarySearchTree;

import java.util.ArrayList;

/**
 * Created by yaosheng on 2022/7/12.
 */
public class TestMain {

    private static double testSet(Set<String> set,String filename){

        long start = System.nanoTime ();

        System.out.println (filename);
        ArrayList<String> words = new ArrayList<> ();
        if(FileOperation.readFile (filename,words)){
            System.out.println ("Total words " + words.size ());

            for(String word : words)
                set.add (word);
            System.out.println ("Total different words: " + set.getSize ());
        }

        long end = System.nanoTime ();
        return (end - start) / 1000000000.0;
    }

    public static void main(String[] args) {

        String filename = "pride-and-prejudice.txt";

        BSTSet<String> bstSet = new BSTSet<> ();
        double time1 = testSet (bstSet,filename);
        System.out.println ("BST Set: " + time1 + "s");

        System.out.println ();

        LinkedListSet<String> linkedListSet = new LinkedListSet<> ();
        double time2 = testSet (linkedListSet,filename);
        System.out.println ("Linked List Set: " + time2 + "s");
    }
}
